Single gesture map navigation graphical user interface for a personal digital assistant

ABSTRACT

An application on a personal digital assistant (PDA) displays a map. A graphical user interface permits the application to receive single gesture inputs of a stylus. If the single gesture input comprises a drag of the stylus a minimum distance, the map is panned such that the map is shifted to a new center view. The displayed map may contain one or more map objects. If the input comprises a single tap on a specific map object, the map object under the tap may be selected and highlighted. Further, a ToolTip for the map object may be displayed. A further tap of the ToolTip may result in the navigation to a link or URL associated with the map object selected. One or more zoom buttons may also be displayed. If a zoom button is tapped by the user, the map may be displayed in a different level of detail.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit under 35 U.S.C. §119(e) ofthe following copending and commonly assigned U.S. Provisional patentapplication, which applications ate incorporated by reference herein:

[0002] U.S. application Ser. No. 60/193,142, entitled “INTERPROCESS APIAND GRAPHICAL USER INTERFACE FOR PERSONAL DIGITAL ASSISTANT (PDA)DEVICES AND APPLICATIONS,” filed on Mar. 29, 2000, by NemmaraChithambaram, et. al., attorney's docket number 30566.110USP1;

[0003] U.S. application Ser. No. 60/193,141, entitled “SHARABLE SERVERUPLOADABLE REDLINING FOR PERSONAL DIGITAL ASSISTANT (PDA),” filed onMar. 29, 2000, by Nemmara Chithambaram, et. al., attorney's docketnumber 30566.97USP1;

[0004] U.S. application Ser. No. 60/193,153 entitled “INDEXED RASTERVECTOR SCHEMA FOR PERSONAL DIGITAL ASSISTANT (PDA) DATABASES,” filed onMar. 29, 2000, by Nemmara Chithambaram, et. al., attorney's docketnumber 30566.109USP1; and

[0005] U.S. application Ser. No. 60/193,862, entitled “MAPGUIDE FORMOBILE DEVICES SERVER,” filed on Mar. 30, 2000, by Nemmara Chithambaram,et. al., attorney's docket number 30566.112USP1.

[0006] This application claims the benefit under 35 U.S.C. §120 and 35U.S.C. §363 of the following co-pending and commonly assignedinternational patent application number PCT/US00/26436, entitled“GEOGRAPHIC MAPS ON A PERSONAL DIGITAL ASSISTANT (PDA) AND SERVER, filedon Sep. 26, 2000, by Autodesk, Inc., attorney's docket number30566.124WOI1, which application claims the benefit under 35 U.S.C.119(e) of U.S. application Ser. No. 60/159,069, entitled “MAPGUIDEPERSONAL DIGITAL ASSISTANT,” filed on Oct. 12, 1999, by NemmaraChithambaram, et. al., attorney's docket number 30566.96USP1, U.S.application Ser. No. 60/193,141, entitled “SHARABLE SERVER UPLOADABLEREDLINING FOR PERSONAL DIGITAL ASSISTANT (PDA) MAPS,” filed on Mar. 29,2000, by Nemmara Chithambaram, et. al., attorney's docket number30566.97USP1, U.S. application Ser. No. 60/193,153 entitled “INDEXEDRASTER VECTOR SCHEMA FOR PERSONAL DIGITAL ASSISTANT (PDA) DATABASES,”filed on Mar. 29, 2000, by Nemmara Chithambaram, et. al., attorney'sdocket number 30566.109USP1, U.S. application Ser. No. 60/193,142,entitled “INTERPROCESS API AND GRAPHICAL USER INTERFACE FOR PERSONALDIGITAL ASSISTANT (PDA) DEVICES AND APPLICATIONS,” filed on Mar.29,2000, by Nemmara Chithambaram, et. al., attorney's docket number30566.110USP1, and U.S. application Ser. No. 60/193,862, entitled“MAPGUIDE FOR MOBILE DEVICES SERVER,” filed on Mar. 30, 2000, by NemmaraChithambaram, et. al., attorney's docket number 30566.112USP1; and whichinternational application is a continuation in part of U.S. patentapplication Ser. No. 09/629,115, entitled “METHOD AND APPARATUS FORPROVIDING ACCESS TO MAPS ON A PERSONAL DIGITAL ASSISTANT (PDA)”, byNemmara Chithambaram et al., Attorney Docket No. 30566.96USU1, filed onJul. 31, 2000, U.S. patent application Ser. No. 09/628,851, entitled“GEOGRAPHICAL DATA MARKUP ON A PERSONAL DIGITAL ASSISTANT (PDA)”, byEdward J. Connot, et al., Attorney Docket No. 30566.97USU1, filed onJul. 31, 2000, U.S. patent application Ser. No. 09/628,850, entitled“GENERALIZED, DIFFERENTIALLY ENCODED, INDEXED RASTER VECTOR DATA ANDSCHEMA FOR MAPS ON A PERSONAL DIGITAL ASSISTANT”, by NemmaraChithambaram et al., Attorney Docket No. 30566.98USU1, filed on Jul. 31,2000, and U.S. patent application Ser. No. 09/629,117, entitled “METHODAND APPARATUS FOR OBTAINING A SET OF MAPS”, by Howard Marantz et al.,Attorney Docket No. 30566.112USU1, filed on Jul. 31, 2000.

[0007] This application is a continuation-in-part of the followingco-pending and commonly assigned United States patent applications,which are incorporated by reference herein:

[0008] U.S. patent application Ser. No. 09/629,115, entitled “METHOD ANDAPPARATUS FOR PROVIDING ACCESS TO MAPS ON A PERSONAL DIGITAL ASSISTANT(PDA)”, by Nemmara Chithambaram et al., Attorney Docket No.30566.96USU1, filed on Jul. 31, 2000 which application claims thebenefit of U.S. application Ser. No. 60/159,069, entitled “MAPGUIDEPERSONAL DIGITAL ASSISTANT,” filed on Oct. 12, 1999, by NemmaraChithambaram, et. al., attorney's docket number 30566.96USP1, U.S.application Ser. No. 60/193,141, entitled “SHARABLE SERVER UPLOADABLEREDLINING FOR PERSONAL DIGITAL ASSISTANT (PDA),” filed on Mar. 29, 2000,by Nemmara Chithambaram, et. al., attorney's docket number 30566.97USP1,U.S. application Ser. No. 60/193,153 entitled “INDEXED RASTER VECTORSCHEMA FOR PERSONAL DIGITAL ASSISTANT (PDA) DATABASES,” filed on Mar.29, 2000, by Nemmara Chithambaram, et. al., attorney's docket number30566.109USP1, U.S. application Ser. No. 60/193,142, entitled“INTERPROCESS API AND GRAPHICAL USER INTERFACE FOR PERSONAL DIGITALASSISTANT (PDA) DEVICES AND APPLICATIONS,” filed on Mar. 29, 2000, byNemmara Chithambaram, et. al., attorney's docket number 30566.110USP1,and U.S. application Ser. No. 60/193,862, entitled “MAPGUIDE FOR MOBILEDEVICES SERVER,” filed on Mar. 30, 2000, by Nemmara Chithambaram, et.al., attorney's docket number 30566.112USP1;

[0009] U.S. patent application Ser. No. 09/628,850, entitled“GENERALIZED, DIFFERENTIALLY ENCODED, INDEXED RASTER VECTOR DATA ANDSCHEMA FOR MAPS ON A PERSONAL DIGITAL ASSISTANT”, by NemmaraChithambaram et al., Attorney Docket No. 30566.98USU1, filed on Jul. 31,2000, which application claims the benefit of U.S. application Ser. No.60/159,069, entitled “MAPGUIDE PERSONAL DIGITAL ASSISTANT,” filed onOct. 12, 1999, by Nemmara Chithambaram, et. al., attorney's docketnumber 30566.96USP1, U.S. application Ser. No. 60/193,141, entitled“SHARABLE SERVER UPLOADABLE REDLINING FOR PERSONAL DIGITAL ASSISTANT(PDA),” filed on Mar. 29, 2000, by Nemmara Chithambaram, et. al.,attorney's docket number 30566.97USP1, U.S. application Ser. No.60/193,153 entitled “INDEXED RASTER VECTOR SCHEMA FOR PERSONAL DIGITALASSISTANT (PDA) DATABASES,” filed on Mar. 29, 2000, by NemmaraChithambaram, et. al., attorney's docket number 30566.109USP1, U.S.application Ser. No. 60/193,142, entitled “INTERPROCESS API ANDGRAPHICAL USER INTERFACE FOR PERSONAL DIGITAL ASSISTANT (PDA) DEVICESAND APPLICATIONS,” filed on Mar. 29, 2000, by Nemmara Chithambaram, et.al., attorney's docket number 30566.110USP1, and U.S. application Ser.No. 60/193,862, entitled “MAPGUIDE FOR MOBILE DEVICES SERVER,” filed onMar. 30, 2000, by Nemmara Chithambaram, et. al., attorney's docketnumber 30566.112USP1;

[0010] U.S. patent application Ser. No. 09/628,851, entitled“GEOGRAPHICAL DATA MARKUP ON A PERSONAL DIGITAL ASSISTANT (PDA)”, byEdward J. Connor, et al., Attorney Docket No. 30566.97USU1, filed onJul. 31, 2000 which application claims the benefit of U.S. applicationSer. No. 60/159,069, entitled “MAPGUIDE PERSONAL DIGITAL ASSISTANT,”filed on Oct. 12, 1999, by Nemmara Chithambaram, et. al., attorney'sdocket number 30566.96USP1, U.S. application Ser. No. 60/193,141,entitled “SHARABLE SERVER UPLOADABLE REDLINING FOR PERSONAL DIGITALASSISTANT (PDA),” filed on Mar. 29, 2000, by Nemmara Chithambaram, et.al., attorney's docket number 30566.97USP1, U.S. application Ser. No.60/193,153 entitled “INDEXED RASTER VECTOR SCHEMA FOR PERSONAL DIGITALASSISTANT (PDA) DATABASES,” filed on Mar. 29, 2000, by NemmaraChithambaram, et. al., attorney's docket number 30566.109USP1, U.S.application Ser. No. 60/193,142, entitled “INTERPROCESS API ANDGRAPHICAL USER INTERFACE FOR PERSONAL DIGITAL ASSISTANT (PDA) DEVICESAND APPLICATIONS,” filed on Mar. 29, 2000, by Nemmara Chithambaram, et.al., attorney's docket number 30566.110USP1, and U.S. application Ser.No. 60/193,862, entitled “MAPGUIDE FOR MOBILE DEVICES SERVER,” filed onMar. 30, 2000, by Nemmara Chithambaram, et. al., attorney's docketnumber 30566.112USP1; and

[0011] U.S. patent application Ser. No. 09/629,117, entitled “METHOD ANDAPPARATUS FOR OBTAINING A SET OF MAPS”, by Nemmara Chithambaram et al.,Attorney Docket No. 30566.112USU1, filed on Jul. 31, 2000, whichapplication claims the benefit of U.S. application Ser. No. 60/159,069,entitled “MAPGUIDE PERSONAL DIGITAL ASSISTANT,” filed on Oct. 12, 1999,by Nemmara Chithambaram, et. al., attorney's docket number 30566.96USP1,U.S. application Ser. No. 60/193,141, entitled “SHARABLE SERVERUPLOADABLE REDLINING FOR PERSONAL DIGITAL ASSISTANT (PDA),” filed onMar. 29, 2000, by Nemmara Chithambaram, et. al., attorney's docketnumber 30566.97USP1, U.S. application Ser. No. 60/193,153 entitled“INDEXED RASTER VECTOR SCHEMA FOR PERSONAL DIGITAL ASSISTANT (PDA)DATABASES,” filed on Mar. 29, 2000, by Nemmara Chithambaram, et. al.,attorney's docket number 30566.109USP1, U.S. application Ser. No.60/193,142, entitled “INTERPROCESS API AND GRAPHICAL USER INTERFACE FORPERSONAL DIGITAL ASSISTANT (PDA) DEVICES AND APPLICATIONS,” filed onMar. 29, 2000, by Nemmara Chithambaram, et. al., attorney's docketnumber 30566.110USP1, and U.S. application Ser. No. 60/193,862, entitled“MAPGUIDE FOR MOBILE DEVICES SERVER,” filed on Mar. 30, 2000, by NemmaraChithambaram, et. al., attorney's docket number 30566.112USP1.

[0012] This application is related to the following co-pending andcommonly-assigned patent applications, which applications areincorporated by reference herein:

[0013] U.S. patent application Ser. No. 09/411,506, entitled“VECTORBASED GEOGRAPHIC DATA”, by Gregory A. Roy, et. al., AttorneyDocket No. 30566.17USC1, filed on Oct. 4, 1999, which is a continuationpatent application of U.S. Pat. No. 5,966,135 issued on Oct. 12, 1999(application Ser. No. 08/757,706 filed on Oct. 30, 1996), by Gregory A.Roy et al., entitled “VECTORBASED GEOGRAPHIC DATA”; and

[0014] U.S. application Ser. No. ______, entitled “INTERPROCESSAPPLICATION PROGRAMMING INTERFACE FOR PERSONAL DIGITAL ASSISTANTAPPLICATIONS,” filed on the same date herewith, by Timothy John Nelson,et. al., attorney's docket number 30566.110USU1.

BACKGROUND OF THE INVENTION

[0015] 1. Field of the Invention

[0016] The present invention relates generally to electronic maps andgeographic information, and in particular, to a method, apparatus, andarticle of manufacture for navigating a map displayed on a personaldigital assistant (PDA).

[0017] 2. Description of the Related Art

[0018] Computer implemented geographic information systems (GIS) ateknown in the art. Such GIS provide for the retrieval and display ofgeographic information (e.g., maps). A GIS is a system of software,hardware, and data that delivers geographic data (street maps, propertyboundaries, power transmission lines, etc.) along with any associatedattribute information. It can show you where a street is and also tellyou the street name, when it was last paved, whether it is a one-waystreet, etc. Using a GIS, a user can perform complex queries (from a webbrowser to a server) to discover such things as how many people livenear the street, what their income level is, and what the zoning lawsare. A GIS can operate on a network/internet wherein the geographicinformation is stored on a server and transmitted to a client/user wherethe information (map picture and other data) is displayed on a webbrowser.

[0019] For the client to properly display the geographic information, acomputer system with the appropriate processing capabilities, software,and memory is required. For example, a client may be required to utilizea computer with a web browser such as INTERNET EXPLORER or NETSCAPENAVIGATOR and have a minimum of 10 megabytes of available memory.Additionally, to display the geographic data such that a user does nothave to wait an inordinate amount of time to retrieve and load the data,an appropriate Internet connection (e.g., a 28.8 Kbps (kilo bits persecond) modem) and a computer system with significant processing power(e.g., a minimum speed of 100 megahertz) may be required.

[0020] Field/utility technicians such as gas company employees,salespersons, plumbers, insurance adjusters, or any type of employmentthat requires travel to different locations, often utilize or requireaccess to maps and geographic information. Further, such techniciansoften need to interact with a map to obtain relevant information. Forexample, a plumber/contractor may want to determine where the main gasline or water line on a street is located. However, while out in thefield, the technicians often do not have a network connection, andcarrying a laptop or desktop computer is cumbersome and impractical.Thus, it is desirable to have a small (handheld) portable computingdevice with the capabilities to display and interact with geographicinformation both online and offline.

[0021] Prior art handheld computing devices (also referred to as palmPCs or personal digital assistants (PDAs)), are often used to access andutilize personal information. Many handheld computing devices areavailable in today's marketplace. Typically, handheld computing devicesare only slightly larger than the size of one's palm (hence, the namepalm PC) and have a small display screen for viewing a plethora ofitems. Software can be installed on a PDA to provide enhancedfunctionality. For example, a personal productivity tool may beinstalled to provide access to a calendar, contacts, email, Internetbrowsing, audio books, and audio recording capabilities. Card slots mayalso be available to provide additional memory or other functions (e.g.,a modem). Additionally, some PDAs have infrared (IR) ports forcommunication.

[0022] Field technicians using a PDA need to view, interact, andnavigate maps displayed. The PDA environment, however, poses severalchallenges for geographic information systems in terms of mapnavigation, memory, storage, processor speeds, wireless transmissionrates, and display attributes. For example, the screen area of PDAs istypically small (160×160 pixels) and PDAs commonly only maintain 96K orless of memory, 2 Mb (megabytes) or less storage, a 13 MHz processorspeed, and a black and white or gray scale display mechanism.Additionally, a stylus takes the place of a multi-button mouse. Mapnavigation may be particularly difficult on a PDA since technicians inmany instances work in trenches or other places where a user's range ofmotion and vision are significantly limited.

[0023] Thus, there is a need for a geographic information system thatovercomes the above described deficiencies on a portable handheldelectronic device such as a PDA.

SUMMARY OF THE INVENTION

[0024] One or more embodiments of the invention provide for aninteractive geographic information system on a personal digitalassistant (PDA). The system enables the viewing, interaction, andnavigation of maps on a PDA.

[0025] A graphical user interface (GUI) on the PDA displays a maprequested by a user. A user may navigate the displayed map usingmovements of a stylus. When a single gesture input is received from astylus, various functions and/or actions may be invoked. When a userdrags a stylus more than a minimum distance, the system interprets thedragging as an attempt to pan the displayed map. Accordingly, the map ispanned based on the stylus drag.

[0026] If the stylus was not dragged a minimum distance, it indicatesthat the user has tapped the map with a possible attempt to select a mapobject or button. If a zoom button was selected, the single tap gestureresults in either zooming out or in on the map depending on the buttonselected.

[0027] If the user has tapped and selected a map object, a ToolTipassociated with the map object may be displayed. The ToolTip may containtext or a link to a URL or file associated with the selected map object.If the ToolTip contains a URL or link, the text displayed in the ToolTipmay be underlined or differentiated from standard text to indicatefurther action is possible.

[0028] Once a ToolTip containing a link has been displayed, theapplication may wait for further action from the user. Further, if theuser taps the link or ToolTip containing the link, the application maynavigate the user to the link associated with the ToolTip, if any. Suchnavigation may comprise invoking another application (e.g., a webbrowser application).

BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Referring now to the drawings in which like reference numbersrepresent corresponding parts throughout:

[0030]FIG. 1 schematically illustrates a hardware and softwareenvironment for the architecture in accordance with one or moreembodiments of the invention;

[0031]FIGS. 2A and 2B illustrate the interaction between a thin client,a servlet, and additional components in accordance with one or moreembodiments of the invention;

[0032]FIG. 3 is a flow chart illustrating the display of a map uponstarting up a mapguide application on the PDA in accordance with one ormore embodiments of the invention;

[0033]FIG. 4 illustrates the menus available to the user when a usertaps a Menus icon on a PDA when on a map screen in accordance with oneor more embodiments of the invention;

[0034]FIG. 5 illustrates an example of a level of detail displayed on aPDA wherein the edge of the map extends just beyond the center of theview in accordance with one or more embodiments of the invention;

[0035]FIG. 6 illustrates a visual representation of a ToolTip inaccordance with one or more embodiments of the invention;

[0036]FIG. 7 illustrates an actual ToolTip and map in accordance withone or more embodiments of the invention;

[0037]FIG. 8 is a flowchart illustrating map navigation through agraphical user interface in accordance with one or more embodiments ofthe invention;

[0038]FIG. 9 is a flow chart illustrating how a servlet responds torequests from client net services in accordance with one or moreembodiments of the invention; and

[0039]FIG. 10 is a flow chart illustrating how the client and servletrespond to requests to show reports (e.g., maps) in accordance with oneor more embodiments of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0040] In the following description, reference is made to theaccompanying drawings which form a part hereof, and which is shown, byway of illustration, several embodiments of the present invention. It isunderstood that other embodiments may be utilized and structural changesmay be made without departing from the scope of the present invention.

[0041] Overview

[0042] One or more embodiments of the invention provide for a graphicaluser interface for navigating maps on a personal digital assistant(PDA). In the graphical user interface, a single gesture by a user usinga stylus may result in a continuous pan, a zoom in or out of a map, aselection of a single object on the map, or the viewing of a reportassociated with a selected map object.

[0043] Embodiments further provide the use of the MAPGUIDE geographicalinformation system (available from the assignee of the presentinvention) on a PDA. Software on the PDA is enabled to provide suchfunctionality. Further, a servlet that provides enhanced serverfunctionality may interface between the web server and the PDA toaccommodate any additional processing needed.

[0044] Raster maps provide multiple zoom levels with each zoom levelcomprising multiple tiles that allow for “virtual roaming” across a map.Further, selectable vector geometry (for interacting and highlightingwith user objects), geo-referencing information for map navigation,meta-data in the form of layer definitions (visibility, displayattributes, etc.), links to object attributes in databases, links toobject reports generated by corporate web servers, uploadable, sharableredlining data (created from scribbles on the field), and access togeographical information both online and offline on the PDA areprovided. Accordingly, users will maintain the ability to access mapsand other geographical information while offline and not connected to anetwork or server.

[0045] General Architecture

[0046] Hardware Environment

[0047] The use, on a PDA, of a modified MAPGUIDE GIS currently availablefrom the assignee of the present invention is provided. The existingMAPGUIDE GIS is more fully described in co-pending U.S. patentapplication Ser. No. 09/411,506, entitled “VECTOR-BASED GEOGRAPHICDATA”, by Gregory Andrew Roy, et. al., Attorney Docket No. 30566.17USC1,filed on Oct. 4, 1999, which is a continuation patent application ofU.S. Pat. No. 5,966,135 issued on Oct. 12, 1999 (application Ser. No.08/757,706 filed on Oct. 30, 1996), by Gregory A. Roy et al., entitled“VECTOR-BASED GEOGRAPHIC DATA”.

[0048]FIG. 1 schematically illustrates a hardware and softwareenvironment for the architecture in accordance with one or moreembodiments of the invention. A typical distributed computer system 100uses a network/Internet 118 to connect technicians utilizing clientssuch as a thin client 102 (e.g. a PDA, WINCE, or PALM device) or a thickclient 104 (e.g., a computer system running a browser) to servercomputers 106.

[0049] A thick client 104 as utilized in the existing MAPGUIDE GIS maycomprise a computer with a web browser (enhanced with a plugin orviewer) connected to a web server 110 that communicates with a MapGuideserver 120 to retrieve data (e.g., raster data, spatial data format(SDF) data 126, attribute data 128, etc.).

[0050] A thin client includes three classes of devices: handheldpersonal computers (HPC), palm-held personal computers (PPC or PDA), andsmart phones. Using these devices, a thin client 102 may not provide thefill processing and memory capabilities as a thick client 104. Forexample, as described above with respect to PDAs, thin clients 102 oftenhave memory less than 100K, storage of less than 2-4 MB, processorspeeds of 13 MHz, and limited display attributes. Consequently,additional server 106 side support (e.g., more generalized display data,simplified project files, de-cluttering services, and possibly servermanagement of user state) may be utilized. A typical combination ofresources may include a network/Internet 118 comprising the Internet,LANs, WANs, SNA networks, or the like, clients 102 and 104 that arePDAs, personal computers or workstations, and servers 106 that arepersonal computers, workstations, minicomputers, or mainframes.

[0051] The network/Internet 118 connects client computers 102 and 104executing the appropriate software applications 130 to server computers106 executing Web servers 110, MapGuide servers 120, and servlets 108.MagGuide servers 120 and servlets 108 may be located within or part ofweb server 110. The server 106 and its components may also be referredto as a back office system. Such a back office system maintains accessto corporate databases, synchronization utilities, etc. The Web server110 is typically a program such as an Apache Web Server or Microsoft'sInternet Information Server. The servlet 108 communicates with thinclient 102 through web server 110 such that any additional processingrequired by a thin client 102 may be performed by the servlet 108.Servlet 108 communicates with MapGuide server 120 to obtain needed mapdata/information. Additionally, servlet 108 accesses map windows files(MWF) 124 to obtain relevant data. The servers 106 may also execute aCommon Gateway Interface (CGI) 112 (or Netscape Application ProgrammingInterface (NSAPI), Internet Server Application Programming Interface(ISAPI), etc.), which interfaces between the Web server 110 and adatabase management system (DBMS) 114 that may be utilized to retrieverelevant geographical data (such as SDF data, raster data, Open DataBaseConnectivity (ODBC) data, etc.) from database 116.

[0052] Generally, components 108-116 and 120-130 all comprise logicand/or data that is embodied in or retrievable from a device, medium,signal, or carrier, e.g., a data storage device, a data communicationsdevice, a remote computer or device coupled to the computer via anetwork or via another data communications device, etc. Moreover, thislogic and/or data, when read, executed, and/or interpreted, results inthe steps necessary to implement and/or use the present invention beingperformed.

[0053] Thus, embodiments of the invention may be implemented as amethod, apparatus, or article of manufacture using standard programmingand/or engineering techniques to produce software, firmware, hardware,or any combination thereof. The term “article of manufacture” (oralternatively, “computer program product”) as used herein is intended toencompass logic and/or data accessible from any computer-readabledevice, carrier, or media.

[0054] Those skilled in the art will recognize many modifications may bemade to this exemplary environment without departing from the scope ofthe present invention. For example, those skilled in the art willrecognize that any combination of the above components, or any number ofdifferent components, including different logic, data, differentperipherals, and different devices, may be used to implement the presentinvention, so long as similar functions are performed thereby.Specifically, those skilled in the art will recognize that the presentinvention may be applied to any database, associated database managementsystem, or peripheral device.

[0055] Software Embodiments

[0056] In accordance with the hardware descriptions, thick clients 104are complete computer systems with web browsers and full processingcapabilities. However, the hardware limitations of a PDA devicenecessitate software limitations. Accordingly, to enable a geographicinformation system on a PDA, a thin client 102 executing an application130 is provided. To accommodate the thin client, additional support onserver 106 may be utilized. For example, server 106 may provide moregeneralized display data, simplified project files, de-clutteringservices, and possibly server management of the user state.

[0057] The architecture of the invention includes a data model thatcombines static raster layers (static raster data for multiple layers)with live vector objects to deliver good display and downloadperformance, and also provides interactive selectable objects.

[0058] Vector based maps (also referred to as “map layer data”consisting of geographic information/data for one or more layers) areserved by a servlet 108 and are an encoded and spatially indexed vectorrepresentation of the geographic data. Such vector maps provide for amore “interactive” display with flexible zooming on the client 102,highlighting, etc. Alternatively, the Scalable Vector Graphics (SVG)representation as proposed by the WorldWideWeb Consortium (W3C) may beutilized. SVG allows for three types of graphic objects: vector graphicshapes (e.g., paths consisting of straight lines and curves), images,and text. Graphical objects can be grouped, styled, transformed, andcomposited into previously rendered objects.

[0059] A display background (that is raster based) for the geographicdata and display layers is managed as a multi-level library of rastertiles. The raster layers are composed from multiple vector layers onservlet 108, resulting in better download and display performance. Theraster map on the PDA allows panning (virtual roaming paradigm), andzooming across multiple levels. A smart-cache on thin client 102 allowsthe swapping of compact tiles from the database to memory, in a mannerappropriate to the device. A single workspace per map provides thedefinition of the map and the display attributes for the layers on thethin client 102.

[0060] PDA users (e.g., technicians) can make scribbles and annotationson the map using a paper and pencil metaphor. To accommodate suchmarkup, embodiments provide a markup object that consists of geometricscribbles (points, lines, polygons, symbols), GPS (global positioningsystem) input coordinates, annotations (positioned text with fontinformation, etc.), and a geo-reference system that allows the markupobject to be integrated into a spatial database 116 using server 106 anddisplayed on other maps. The markup system captures user input andallows for markup objects to be uploaded to server 106. Further, thelevel of sharing on the server 106 side is configurable (e.g., personal,group, global, etc.).

[0061] Details of Architecture

[0062] Thin Client 102

[0063] The user of a thin client 102 such as a PDA displays geographicalinformation (e.g., maps) using application 130. The architecture of theinvention accommodates various thin clients 102 such as Palm OS devices,WINDOWS CE 2.x devices, and/or smart phones with bitmapped graphics(e.g., SYMBIAN, MOTOROLA, NOIKA, PSION). The startup time for the GIS onthe PDA is comparable to other applications on the PDA. Further, thethin client 102 (and application 130) is enabled to store non-spatialdata gathered from within the GIS application in a format suitable foruploading to or synchronizing with major relational database managementsystem (RDBMS) vendors.

[0064] Thin client 102 supports a variety of net access patterns. Forexample, thin client 102 can have a connection to the back office system(e.g., server 106) periodically (e.g., at the beginning and/or the endof the day), on-demand (e.g., through a wireless modem), orcontinuously.

[0065]FIGS. 2A and 2B illustrate the interaction between thin client102, servlet 108, and additional components. Thin client 102 is made upapplication 130 that comprises subcomponents that allow viewing,navigation, and querying of a map model on the PDA. Thin client 102 andapplication 130 also includes services that allow management of businessattributes 128, communication with servlet 108, and persistencemanagement. Accordingly, application 130 collectively refers to thesubcomponents on thin client 102 (i.e., subcomponents 202-222 and 238).

[0066] To initialize the PDA thin client 102 with the appropriate mapdata, a user starts up the synchronization application 238.Synchronization application 238 is the application on the PDA thinclient 102 responsible for synchronizing information and map data storedin a database 220 on PDA thin client 102 with the relevant map data.Synchronization application 238 utilizes net services 218 to communicatewith servlet 108 (through web server 110) and to obtain the relevant mapdata. Net services component 218 provides services for two waycommunication (and exchange of data) with servlet 108 (i.e., followingthe link to FIG. 2B). Accordingly, synchronization application 238 maycommunicate with servlet 108 to obtain the location of the map data.Thereafter, synchronization application 238 retrieves/obtains the mapdata from the identified location.

[0067] Upon receipt of the map data in the synchronization application238, persistent services 208 is utilized store the data (by performingvarious I/O operations) in PDA catalog database 220. Thereafter, thesynchronization process is complete. Such synchronization can beperformed as often as desired depending on the configuration of the PDAthin client 102. For example, if thin client 102 has a wireless modem,the synchronization operation can be performed whenever desired. Ifhowever, a direct connection is required, synchronization can only occurwhen the thin client 102 is connected to network 118 (or to server 106).

[0068] The MapGuide PDA component 202 is the main application thatprovides the user interface (UI) 204 and responds to events. The userinterface component 204 is the placeholder for the user interfacecontrols that are specialized for the PDA. Accordingly, once therelevant map data has been retrieved using synchronization application238, the MapGuide PDA application 202 may be initialized/started by theuser. Details of the UI and map navigation are described below.

[0069] MapGuide PDA component 202 requests the persistence servicescomponent 208 to load the active workspace 206. The active workspace 206provides/creates the definition of the map model 210. Thus, the activeworkspace 206 may be seen as a minimized version of the traditional mapfile (referred to as a map window file (MWF)) for the PDA 102. The mapmodel 210 provides the services related to maintaining and manipulatingmap layers and map objects.

[0070] The persistent services component 208 loads the workspace 206 byproviding object based database management services (ODBMS) using thelocal PDA database (PDA CatalogDB 220). The PDA catalogDB 220 is thelocal database of geographic information that is resident on the PDA.Thus, the PDA catalogDB encapsulates the local PDA catalog database andprovides the application programming interface (API) for recordmanipulation.

[0071] View component 212 listens to changes in the map model 210 andupdates the map display when necessary. The business attributesservices/manager component 214 provides services related to managingnon-spatial business attributes.

[0072] Client resident viewer services 216 interact with map modelcomponent 210. The client resident viewer services component 216provides a flexible architecture that allows viewer service componentsto reside on either the client 102 or the servlet 108. These servicesmay be represented by two components: the client resident viewerservices component 216 of FIG. 2A and the servlet resident viewerservices component 232 of FIG. 2B. The services performed by clientresident viewer services 216 and servlet resident viewer services 232may be combined and reside entirely on client 102 or server 106. Allclient 102 components send requests for viewer services to the clientresident viewer services 216. The client resident viewer servicescomponent 216 will perform the service if the required components arelocally available on the client 102. If not, the request may bedelegated to the servlet resident viewer services 232 throughsynchronization application 238. For example, for a given clientconfiguration, polyline drawing services may be available on client 102,whereas buffering services may be available on servlet 108.

[0073]FIG. 3 is a flow chart illustrating the display of a map uponstarting up an application 130 such as mapguide application 202 on thePDA in accordance with one or more embodiments of the invention. At step300, the mapguide PDA 202 is asked to start up. At step 302, themapguide PDA 202 requests the persistent services 208 to load the activeworkspace 206 (from the local PDA database 220). At step 304, theworkspace 206 uses map definitions to create a new map model 210. Themap model 210 populates layers in the model at step 306. The populatingof step 306 may be performed by using the persistent services 208 to getdata from the local PDA database 220 at step 306A and/or conveying therequest to client resident viewer services 216 at step 306B. If clientresident viewer services 216 determines that the service requiresservlet resident viewer services 232, the client resident viewerservices 216 delegates the request to net services 218 throughsynchronization application 238 at step 308.

[0074] At step 310, any downloaded data may be optionally cached in thelocal database 220 using persistent services 208. The model 210 notifieslisteners (including the view 212) of the change at step 312. View 212updates itself by getting display attributes from the workspace 206 andupdating the map display at step 314.

[0075] After viewing the map, a user on thin client 102 may markup orredline the map (i.e., the map and attribute data) as desired using astylus. Markup data comprises pixel data for a markup entity.Application 130 provides the ability to obtain markup data from the userthrough user interface 204. Application 130 then creates a filecomprised of the markup data and provides for uploading the file fromthin client 102 to server 106. The file is uploaded to the server 106 byobtaining a socket connection, obtaining an inventory of residentmapsets, searching for markup data associated with the resident mapsetson thin client 102, and uploading all resident markup data to the server106.

[0076] As described above, the markup entity may comprise a markupobject that provides various mechanisms for marking up a map. Forexample, the user may draw a redline line wherein the markup object is aredline object. To draw a redline line, the application 130 determineswhen a new redline object has been selected and captures the stylusmovements in a redline object while the stylus remains in contact withthe screen of thin client 102.

[0077] In another example, the markup data is a note, and theapplication 130 is configured to obtain the markup data in a noteobject. To insert/draw a note, application 130 determines when a newnote object has been selected, accepts a user selection of an anchorpoint in a display of a map on the thin client 102, displays a textentry screen 204 on the thin client 102, accepts text user input in thetext entry screen 204, and displays an icon representative of the noteat the anchor point.

[0078] To accommodate the markup data on server 106, server 106 isconfigured to obtain a file comprised of markup data for the map andattribute 128 data, convert the markup data to coordinate data, and usethe coordinate data to obtain a standard data format (SDF) file that canbe used to superimpose the markup data on the map and attribute 128data. Any component on server 106, including servlet 108, may providesuch functionality.

[0079] Map Navigation Graphical User Interface (GUI)

[0080] In addition to redline functionality, one or more embodiments ofthe invention provide a GUI for navigating a map. Map navigation may beaccomplished using a variety of single gestures such as selecting amenu, tapping, and/or dragging with the stylus.

[0081] A map screen may include one or mote of the following elements: amap; a menu; and Zoom In and Zoom Out navigation buttons on a title bar.Various navigation buttons may be provided on a map display screenincluding Zoom In and Zoom Out. The Zoom In and Zoom Out buttons mayfunction in the same way as Zoom In and Zoom Out menu items. If the menuis dropped down (visible), the buttons may not be available as they maybe covered up by the menu. The buttons may also not be available duringa Redline operation, as all (or a portion of) menu items except FinishRedline may be disabled during a Redline operation.

[0082]FIG. 4 illustrates the menus available to the user when a usertaps a Menus icon on a PDA when on a map screen. Note that in FIG. 4,the left-most menu choices 402 (i.e., Zoom In, New Note, New Redline,Undo, and Done) in “Map” are already visible (dropped-down). Thegraphical user interface (GUI) may also enable menu shortcuts wherein adisplay that indicates a command stroke plus a letter may indicate thata user can use the graffiti symbol plus a letter as a shortcut forchoosing a menu item.

[0083] Panning

[0084] The GUI enables a user to pan a map across the PDA's displayscreen. To pan, the user holds down the stylus and drags the stylus tothe desired new view. A minimum distance of movement before a panoperation begins may be required. By requiring a minimum distance, thedrag operation may be distinguished from a selection/tap operation(e.g., a press/release without moving more than the threshold distance).In a drag operation, the map may be constrained from panning beyond thehalfway mark of the view area. In other words, the user may not beallowed to pan the edge of any map beyond the center of the view. Insuch an embodiment the center point of the PDA screen may always berequired to fall inside of the map.

[0085] The GUI may also provide a means by which the user can return(pan) to a designated target point. In such an embodiment, the zoomfactor may not be affected.

[0086] Zooming

[0087] A user may be presented with the option of zooming in closer orzooming away from a currently displayed map. Depending on theavailability of zooming in or out from the current level of detail, azoom in or zoom out button may be displayed on the PDA screen.

[0088] For example, an overview map may currently be displayed. If amore detailed view of the overview map is available, the “Zoom In” itemmay appear in the menu and a “Zoom In” button may be displayed on thescreen. Further, if a less detailed view of the overview map isavailable, a “Zoom Out” item may appear in the menu and a “Zoom Out”button may be displayed on the screen. Both the Zoom Out and Zoom Initems may be displayed simultaneously. To zoom in or zoom out, the usermay select “Zoom In” or “Zoom Out” from the Map menu or may use a singletap gesture on either the Zoom In or Zoom Out button.

[0089] Once the user elects to zoom in or out, the map view immediatelyzooms/navigates to the requested map level/level of detail, whilemaintaining the existing view center. A mapset consists of an array ofmaps (up to 9 zoom levels, not including the initial map). The Zoom Inmenu choice and button will be displayed if there is a more detailedview available and removed from the menu otherwise. Similarly, the ZoomOut menu choice and button will be displayed if there is a less detailedview available and removed otherwise. All of the zooms implicitlyreference the MWF of the initial map. The user doesn't zoom betweendifferent MWF files, only between scales and centers within an MWF file.

[0090] A user may not be allowed to zoom in if a more detailed map doesnot cover the geographical point corresponding to the center of theview. FIG. 5 illustrates an example of a level of detail displayed on aPDA wherein the edge of the map extends just beyond the center of theview. Additionally, in FIG. 5, a more detailed map of the area in thecenter of the view is not available. Accordingly, the user is notpresented with the option of zooming in.

[0091] The GUI may also provide the ability to support a single levelfor a raster zoom. (pixel replication). For example, the GUI may providea magnifying glass icon, on both an overview and detail level map, toenable viewers to look at the same map in a larger view. Such an iconmay be activated using a single gesture such as a tap of the stylus onthe magnifying glass or the area that the user desires to magnify. Asimilar icon with similar functionality may be used to zoom out ordisplay a less detailed view of a map.

[0092] Map Object Display and Selection

[0093] As described above, a map may comprise one or more map objects. Amap object may have numerous non-graphical attributes. For example, amap object may have an object type, a key value (for linking to databaserecords), a simple text attribute (e.g., a road name for display in aToolTip as discussed below), or a URL to a web page (e.g., maintenanceinformation for the selected object) or to another map, drawing or image(e.g., detailed schematic diagram).

[0094] In the GUI, map objects and their attributes (graphical andnon-graphical) may provide various functions when selected by a user.For example, the selection of a map object may link a user to the URLspecified in the URL attribute. The selection of a map object may alsopermit the display of a ToolTip that contains the text from the simpletext attribute.

[0095] When one or more map objects are selected, the GUI may highlightthe selected objects using a ToolTip icon. Such functionality combinesselection representation with that of ToolTips. The text within aToolTip may comprise the value of the key attribute, the simple textattribute, or the URL attribute for the selected object. Where a link(e.g., a link to a file or a URL) is present, the ToolTip text may bedisplayed and underlined. This underlined text may effectively act as abutton. If the object has an URL but no ToolTip text, the string “MoreInfo . . . ” may be displayed.

[0096] The user may navigate to the file or URL identified by the linkvia the ToolTip. To navigate, the user may merely tap on the ToolTipwith the stylus and be transported to the URL or file. Depending on thevalue of the link, the appropriate application may beinvoked/initialized. For example, if the link is to a mapset, the mapsetmay be opened in a GIS application. However, if the link is to a URL, anAvantGo application may be initialized.

[0097] To indicate that a selection has been made (e.g., that a user'stap is being processed), when the user taps on the ToolTip, the ToolTiptext may change to reverse video while the link is loading.

[0098] A ToolTip may not be displayed if there is no text or URLassociated with the object. Additionally, an audible click may soundwhen the user taps a selectable object, menu item, or ToolTip with alink. An audible error tone may sound if the user taps an area wherethere is no selectable data or if the user taps a tool tip that has nolink associated with it.

[0099] ToolTips may behave differently depending on various factors suchas where the selected object is located on the map. For example, aToolTip may be displayed near, but not on, a point on the selectedobject closest to the pick point. The selected object may flash (blinkon and off) as a highlighting mechanism. The ToolTip may also expand tocover the selected object wherein the blinking object may be visiblethrough the ToolTip text. Additionally, the text within a ToolTip maywrap to keep the ToolTip within the size of the screen. The PDAapplication may restrict the ToolTip to a maximum width that is roughly80% of the screen width.

[0100] The text string in a ToolTip may have a maximum length. When themaximum length has been reached or exceeded, the text may be truncated.For example, the text may be truncated with ellipsis when the textlength causes the height of the ToolTip to reach fifty percent (50%) ofthe screen height.

[0101]FIG. 6 illustrates a visual representation of a ToolTip inaccordance with one or more embodiments of the invention. In FIG. 6, theToolTip 602 is displayed in proximity to the selected object 604. FIG. 7illustrates an actual ToolTip 702 and map 704. The map of FIG. 7 is abitmap of downtown Atlanta. The selected object 704 is Decatur St SE (asindicated by the ToolTip 702).

[0102] Referring to FIG. 6, when a ToolTip 602 is displayed, any otheractivity on the map screen may cancel the display of the ToolTip 602.Alternatively, certain additional activities may invoke variousfunctions. For example, the ToolTip 602 may be moved by dragging theToolTip 602 to reposition it. The user may have the ability to indicatewhich objects the user is interested in for a subsequent operation, e.g.zoom selected objects, report generation, etc. A script-writer may alsobe able to select an object and thus highlight it on a map. Further, theuser may specify a layer, object ID, etc. to be displayed in a latercycle.

[0103]FIG. 8 is a flowchart illustrating map navigation through agraphical user interface in accordance with one or more embodiments ofthe invention. At step 800, a map is displayed. At step 802, adetermination is made regarding whether a single gesture input isreceived from a stylus. If a gesture is not received, no further actionis needed. If a gesture is received, a determination is made regardingwhether the stylus has been dragged a minimum distance at step 804. Ifthe stylus has been dragged a minimum distance, it indicates that theuser is attempting a pan operation. Accordingly, the map is panned basedon the stylus drag at step 806. If the stylus was not dragged a minimumdistance, it indicates that the user has attempted to tap a map object.At step 808, a determination is made regarding whether the userattempted to tap a zoom button. If so, the map is zoomed appropriatelyat step 810.

[0104] If a zoom button was not tapped, the ToolTip of the map objecttapped is displayed at step 812. As described above, the ToolTip maycontain the text or URL of the map object tapped. The map object closestto the tapped point may be utilized. If no map object is within apredefined distance of the tap, step 812 may not be performed.

[0105] Once a ToolTip has been displayed, the application may wait forfurther user action at step 814. Thus, at step 814, a determination ismade regarding whether the user has tapped the map again. If a tap isreceived, the application determines whether the tap was on thedisplayed ToolTip or not at step 816. If the tap or user input was noton the ToolTip, processing may continue at step 804. Alternatively, theToolTip may disappear from the display and processing may continue atstep 802. If the tap was on the displayed ToolTip, the system maynavigate the user to the link associated with the ToolTip, if any.

[0106] Servlet

[0107] Referring back to FIG. 1, a servlet 106 accommodates anyadditional processing needed by PDA thin client 102 and application 130.To take advantage of existing web servers 110 and servlet technology,servlet 108 may be implemented using the Java programming language.Alternatively, any programming language that performs/provides Javaservlet like functionality may be utilized. Accordingly, a single codestream is utilized to implement the servlet 108 on multiple platforms. Aminimum set of constraints beyond those provided by web server 110 andthe servlet 108 framework provide scalability. For example, each client102 request may be self-contained in that it is responded to by adifferent instantiation of the servlet 108.

[0108] Servlet 108 may reside in a web server 110 and responds torequests for spatial and attribute data related to map objects, frommultiple thin clients 102. Servlet 108 processes the requests, performsthe visualization and encoding and places the results in a location thatis accessible to the thin clients 102. Additionally, servlet 108 mayidentify one or more maps included in a mapset, obtain the map data forthe one or more maps identified from the server 106, and create themapset comprised of the map data prior to receiving a request for themap data from a client 102. Such map data retrieval and mapset creationmay be performed by servlet 108 in response to receiving a requestrelating to a work order (e.g., a request to modify, delete, or add awork order).

[0109] Additionally, servlet 108 may support the retrieval and creationof a mapset (i.e., map data) using multiple central processing units inparallel. To provide such parallel processing support, servlet 108identifies one or more maps in a mapset, instantiates separate threadson multiple central processing units to obtain map data for the one ormore maps from the server 106 in parallel, assembles a transientdatabase comprised of the map data, and creates a mapset comprised ofthe map data using the transient database.

[0110]FIG. 2B illustrates the subcomponents of servlet 108. The requestbroker 224 listens to and coordinates requests from multiple clients 102(i.e., from FIG. 2A), and conveys the requests to the query processor230. The query processor 230 processes the query using services providedby the servlet resident viewer services component 232. Query processor230 also uses the visualizer component 228 and encoder component 226 toperform cartographic decluttering and encoding of the data to be sentback to or retrieve by the client 102.

[0111] Map data on server 106 is comprised of multiple raster tile andvector object data for an object of the map data. Visualizer component228 performs configurable decluttering of data in a manner that isappropriate to the display of thin client 102. Accordingly, visualizer228 generalizes the shape of a vector object by filtering out some ofthe vector object data. Encoder component 226 compacts and encodes theobjects being retrieved by thin client 102. Encoder component 226differentially encodes a location of an object by encoding an offset forthe location of the object with respect to an origin of the raster tilewhere the object is located. Further, encoder component 226 spatiallyindexes the vector object data by encoding the bounds of the object.

[0112] The raster tiles are stored in row major format. An index foreach raster tile is stored following the raster tiles in an ordercorresponding to the storage of the raster tiles. The index comprises areference to a record containing the generalized vector object data, andthe offset and bounds for each raster tile.

[0113] By generalizing, encoding, and spatially indexing the map data,the thin client 102 may determine an object identified by a point byevaluating the bounds of one or more raster tiles to determine theraster tile containing the point, and evaluating the bounds of objectswithin the raster tile containing the point to determine which objectcontains the point.

[0114] Servlet resident viewer services components 232 represents theservlet resident part of viewer services (as described above withrespect to FIG. 2A) and communicates with mapguide server 120. The mapguide server 120 may be web server 110 or a component of server 106.

[0115]FIG. 9 is a flow chart illustrating how servlet 108 responds torequests received through net services 218. Referring to FIGS. 2A, 2B,and 9, at step 900, net services 218 requests request broker 224 onservlet 108 to download new layers (for dynamic data). At step 902, therequest broker 224 (after coordinating requests from other clients 102if necessary) conveys the request to the query processor 230. The queryprocessor 230 conveys the query to the servlet resident viewer services232 and obtains the results at step 904. The results are decluttered (ifspecified) using the visualizer 228 at step 906 and encoded forcompaction using the encoder 226 at step 908. The results (aftervisualization and encoding) or the location(s) where the results may beobtained ate sent back to the client net services 218 at step 910.

[0116]FIG. 10 is a flow chart further illustrating how the client 102and servlet 108 respond to requests to show reports (e.g., maps).Referring to FIGS. 2A, 2B, and 10, at step 1000, the user is given anopportunity to alter the contents of the selected map objects. At step1002, the keys of the selected objects are saved to the PDA database220. The state of the mapguide PDA 202 is saved to the PDA database 220at step 1004. A report application (such as MapGuide PDA application202) is started up and the keys of the selected objects are read backfrom the PDA database 220 at step 1006.

[0117] For local reports, the business attributes for the selectedobjects are read from the PDA database 220 at step 1010 and the reportis formatted and displayed at step 1012. For reports that require moteextensive formatting services (e.g., COLD FUSION Application Server) orrequire data not stored in the local PDA database 220, a request isissued to net services 218 (through synchronization application 238) toobtain the report at step 1008.

[0118] After the user is finished viewing the report, and possibly otherreports linked to it, the mapguide PDA application 202 is re-started atstep 1014 at which time the application 202 restores itself to its lastsaved state.

[0119] Conclusion

[0120] This concludes the description of one or more embodiments of theinvention. The following describes some alternative embodiments foraccomplishing the present invention.

[0121] For example, any type of personal digital assistant or computer,such as a mainframe, minicomputer, or personal computer, or computerconfiguration, such as a timesharing mainframe, local area network,standalone personal computer, WINCE device, etc. could be used with thepresent invention.

[0122] The foregoing description of one or more embodiments of theinvention has been presented for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit theinvention to the precise form disclosed. Many modifications andvariations are possible in light of the above teaching. It is intendedthat the scope of the invention be limited not by this detaileddescription, but rather by the claims appended hereto.

We claim:
 1. A method for map navigation using a graphical userinterface on a personal digital assistant (PDA) comprising: displaying amap on a display screen of a PDA; receiving a single gesture input froma user into the PDA, wherein the single gesture input comprises a dragof a stylus across the display screen; determining whether the stylushas been dragged a minimum distance; and if the stylus has been draggeda minimum distance and in response to the drag, panning the map inaccordance with the drag such that the map is shifted to a new centerview.
 2. The method of claim 1 wherein the map may be panned until anedge of the map is reached.
 3. A method for map navigation using agraphical user interface on a personal digital assistant (PDA)comprising: displaying a map having one or more map objects on a displayscreen of a PDA; receiving a single gesture input from a user into thePDA, wherein the single gesture input comprises a single tap of a styluson a specific map object; and in response to the single tap: selectingand highlighting the map object under the tap; and displaying a tooltipfor the map object.
 4. The method of claim 3 further comprising:receiving a second single gesture input from a user into the PDA,wherein the second single gesture input comprises a single tap of thestylus on the tooltip; and displaying a report for the map object inresponse to the single tap on the tooltip.
 5. A method for mapnavigation using a graphical user interface on a personal digitalassistant (PDA) comprising: displaying a map on a display screen of aPDA; displaying a zoom button on the display screen of the PDA;receiving a single gesture input from a user into the PDA, wherein thesingle gesture input comprises a single tap by a stylus of the zoombutton; and displaying the map on the display screen of the PDA with adifferent level of detail.
 6. The method of claim 5 wherein thedifferent level of detail is a more detailed view of the map thanoriginally displayed.
 7. The method of claim 5 wherein the differentlevel of detail is a less detailed view of the map than originallydisplayed.
 8. The method of claim 5 wherein the zoom button is onlydisplayed if a display of a different level of detail is available.
 9. Asystem for navigating a map using a graphical user interface on apersonal digital assistant (PDA) comprising: (a) a personal digitalassistant (PDA); (b) an application launched on the PDA, the applicationconfigured to: (i) display a map on a display screen of the PDA; (ii)receive a single gesture input from a user into the PDA, wherein thesingle gesture input comprises a drag of a stylus across the displayscreen; (iii) determine whether the stylus has been dragged a minimumdistance; and (iv) if the stylus has been dragged a minimum distance andin response to the drag, pan the map in accordance with the drag suchthat the map is shifted to a new center view.
 10. The system of claim 9wherein the map may be panned until an edge of the map is reached.
 11. Asystem for navigating a map using a graphical user interface on apersonal digital assistant (PDA) comprising: (a) a personal digitalassistant (PDA); (b) an application launched on the PDA, the applicationconfigured to: (i) display a map having one or more map objects on adisplay screen of a PDA; (ii) receive a single gesture input from a userinto the PDA, wherein the single gesture input comprises a single tap ofa stylus on a specific map object; and (iii) in response to the singletap: (1) select and highlighting the map object under the tap; and (2)display a tooltip for the map object.
 12. The system of claim 11 , theapplication further configured to: receive a second single gesture inputfrom a user into the PDA, wherein the second single gesture inputcomprises a single tap of the stylus on the tooltip; and display areport for the map object in response to the single tap on the tooltip.13. A system for navigating a map using a graphical user interface on apersonal digital assistant (PDA) comprising: (a) a personal digitalassistant (PDA); (b) an application launched on the PDA, the applicationconfigured to: (i) display a map on a display screen of a PDA; (ii)display a zoom button on the display screen of the PDA; (iii) receive asingle gesture input from a user into the PDA, wherein the singlegesture input comprises a single tap by a stylus of the zoom button; and(iv) display the map on the display screen of the PDA with a differentlevel of detail.
 14. The system of claim 13 wherein the different levelof detail is a more detailed view of the map than originally displayed.15. The system of claim 13 wherein the different level of detail is aless detailed view of the map than originally displayed.
 16. The systemof claim 13 wherein the zoom button is only displayed if a display of adifferent level of detail is available.
 17. An article of manufacturefor navigating maps using a graphical user interface on a personaldigital assistant (PDA) comprising: means for displaying a map on adisplay screen of a PDA; means for receiving a single gesture input froma user into the PDA, wherein the single gesture input comprises a dragof a stylus across the display screen; means for determining whether thestylus has been dragged a minimum distance; and means for panning themap in accordance with the drag such that the map is shifted to a newcenter view if the stylus has been dragged a minimum distance.
 18. Thearticle of manufacture of claim 17 wherein the map may be panned untilan edge of the map is reached.
 19. An article of manufacture fornavigating maps using a graphical user interface on a personal digitalassistant (PDA) comprising: means for displaying a map having one ormore map objects on a display screen of a PDA; means for receiving asingle gesture input from a user into the PDA, wherein the singlegesture input comprises a single tap of a stylus on a specific mapobject; means for selecting and highlighting the map object under thetap in response to the single tap; and means for displaying a tooltipfor the map object in response to the single tap.
 20. The article ofmanufacture of claim 19 further comprising: means for receiving a secondsingle gesture input from a user into the PDA, wherein the second singlegesture input comprises a single tap of the stylus on the tooltip; andmeans for displaying a report for the map object in response to thesingle tap on the tooltip.
 21. An article of manufacture for navigatingmaps using a graphical user interface on a personal digital assistant(PDA) comprising: means for displaying a map on a display screen of aPDA; means for displaying a zoom button on the display screen of thePDA; means for receiving a single gesture input from a user into thePDA, wherein the single gesture input comprises a single tap by a stylusof the zoom button; means for displaying the map on the display screenof the PDA with a different level of detail.
 22. The article ofmanufacture of claim 21 wherein the different level of detail is a moredetailed view of the map than originally displayed.
 23. The article ofmanufacture of claim 21 wherein the different level of detail is a lessdetailed view of the map than originally displayed.
 24. The article ofmanufacture of claim 21 wherein the zoom button is only displayed if adisplay of a different level of detail is available.